﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TodoApp.ResultModel;
using TodoApp.TMS_personnelmatters.Employeess;
using TodoApp.TMS_SetUp.Departments;
using TodoApp.TMS_SetUp.Positions;

namespace TodoApp.TMS_personnelmatters.Inductions
{
    public interface ITMS_InductionRepository
    {
        /// <summary>
        /// 显示分页
        /// </summary>
        /// <param name="name"></param>
        /// <param name="department"></param>
        /// <param name="position"></param>
        /// <param name="date"></param>
        /// <param name="dates"></param>
        /// <param name="state"></param>
        /// <param name="pageindex"></param>
        /// <param name="pagesize"></param>
        /// <returns></returns>
        Task<PageResponse<TMS_InductionDto>> GetInduction(string name, string department, string position, string date, string dates, int? state, int pageindex, int pagesize);
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<int> DeleteInduction(string id);
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="tMS_Induction"></param>
        /// <returns></returns>
        Task<int> UpdateInduction(TMS_InductionDto tMS_Induction);
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="tMS_Induction"></param>
        /// <returns></returns>
        Task<int> CreateInduction(TMS_Induction tMS_Induction);
        /// <summary>
        /// 部门
        /// </summary>
        /// <returns></returns>
        Task<List<TMS_Department>> GetDepartment();
        /// <summary>
        /// 职位
        /// </summary>
        /// <returns></returns>
        Task<List<TMS_Position>> GetPosition(string id);
        /// <summary>
        /// 提交
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<int> UpdateState(string id);
        /// <summary>
        /// 上级负责人
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<List<TMS_Employees>> GetEmployees();
        /// <summary>
        /// 人员
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<List<TMS_Employees>> GetEmployeess(string id);
    }
}
